Debugging Xend with XEND_DAEMONIZE set to False doesn't work as
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 30 Apr 2006 08:52:59 +0000 (09:52 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Sun, 30 Apr 2006 08:52:59 +0000 (09:52 +0100)
expected.  Xend actually creates two children and the XEND_DAEMONIZE
flag only prevents one of the children from being created.  This
patch causes none of the children to be created.  With this patch,
Xend functionality is performed in the process executed from the
command line (i.e., /usr/sbin/xend).  This patch makes it possible to
debug Xend with pdb.

Signed-off-by: Randy Thelen <rthelen@netapp.com>
tools/python/xen/xend/server/SrvDaemon.py

index 866990caf8b6e2b268afdf91564feaeb14593535..b02d226b22d403d21e26c1b62ab7ef911bb1d923 100644 (file)
@@ -87,8 +87,6 @@ class Daemon:
 
 
     def daemonize(self):
-        if not XEND_DAEMONIZE: return
         # Detach from TTY.
 
         # Become the group leader (already a child process)
@@ -133,6 +131,13 @@ class Daemon:
 
         ret = 0
 
+        # If we're not going to create a daemon, simply
+        # call the run method right here.
+        if not XEND_DAEMONIZE:
+            self.tracing(trace)
+            self.run(None)
+            return ret;
+        
         # we use a pipe to communicate between the parent and the child process
         # this way we know when the child has actually initialized itself so
         # we can avoid a race condition during startup